package condominio.negocio;

import java.util.Collection;

import condominio.dao.CuotaDAO;
import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Cuota;
import condominio.modelo.Vivienda;

public class GestionCuotas {

	//public Collection<Cuota> buscarPorNombre(int id) throws DAOExcepcion {
	//	CuotaDAO dao = new CuotaDAO();
	//	//return dao.listar();
		
	//	return dao.buscarPorNombre(id);
	//}

	public void insertar(int idVivienda, String periodo, double importe, String fechaVencimiento)
			throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();
        Vivienda vivienda = new Vivienda();
        vivienda.setIdVivienda(idVivienda);
		Cuota vo = new Cuota();
		vo.setVivienda(vivienda);
		vo.setPeriodo(periodo);
		vo.setImporte(importe);
		vo.setFechaVencimiento(fechaVencimiento);

		dao.insertar(vo);

	}

	public Cuota obtener(int idCuota) throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();

		return dao.obtener(idCuota);

	}

	public void eliminar(int idCuota) throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();

		dao.eliminar(idCuota);
	}

	public void actualizar(int idCuota, double importe, String fechaVencimiento)
			throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();

		//Vivienda vivienda = new Vivienda();
        //vivienda.setIdVivienda(idVivienda);
		Cuota vo = new Cuota();
		vo.setIdCuota(idCuota);
		//vo.setVivienda(vivienda);
		//vo.setPeriodo(periodo);
		vo.setImporte(importe);
		vo.setFechaVencimiento(fechaVencimiento);
		
		dao.actualizar(vo);
	}

	public Collection<Cuota> listar() throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();
		return dao.listar();
	}
	
	public Collection<Cuota> cuotasPorPagar(int nResidente) throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();
		return dao.cuotasPorPagar(nResidente);
	}

	public void pagarCuota(int idCuota, int opcionPago) throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();

		dao.pagarCuota(idCuota,opcionPago);
	}
	
	public Collection<Cuota> listaMorosos() throws DAOExcepcion {
		CuotaDAO dao = new CuotaDAO();
		return dao.listaMorosos();
	}

	
}
